package com.dilidili.service.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.dilidili.mapper.FansMapper;
import com.dilidili.service.IFansService;
import com.domain.Fans;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * 【请填写功能名称】Service业务层处理
 *
 * @author ruoyi
 * @date 2022-03-31
 */
@Service
public class FansServiceImpl implements IFansService {
    @Resource
    private FansMapper fansMapper;

    /**
     * 查询【请填写功能名称】
     *
     * @param fansBigvUserId 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    @Override
    public Fans selectFansByFansBigvUserId(Long fansBigvUserId) {
        return fansMapper.selectFansByFansBigvUserId(fansBigvUserId);
    }

    /**
     * 查询【请填写功能名称】列表
     *
     * @param fans 【请填写功能名称】
     * @return 【请填写功能名称】
     */
    @Override
    public List<Fans> selectFansList(Fans fans) {
        return fansMapper.selectFansList(fans);
    }

    /**
     * 新增【请填写功能名称】
     *
     * @param fans 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int insertFans(Fans fans) {
        return fansMapper.insertFans(fans);
    }

    /**
     * 修改【请填写功能名称】
     *
     * @param fans 【请填写功能名称】
     * @return 结果
     */
    @Override
    public int updateFans(Fans fans) {
        return fansMapper.updateFans(fans);
    }

    /**
     * 批量删除【请填写功能名称】
     *
     * @param fansBigvUserIds 需要删除的【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteFansByFansBigvUserIds(Long[] fansBigvUserIds) {
        return fansMapper.deleteFansByFansBigvUserIds(fansBigvUserIds);
    }

    /**
     * 删除【请填写功能名称】信息
     *
     * @param fansBigvUserId 【请填写功能名称】主键
     * @return 结果
     */
    @Override
    public int deleteFansByFansBigvUserId(Long fansBigvUserId) {
        return fansMapper.deleteFansByFansBigvUserId(fansBigvUserId);
    }

    @Override
    public Object onFans(Integer userId, Integer bigvId, Integer fansState) {
        return fansMapper.onFans(userId, bigvId, fansState);
    }

    @Override
    public Object offFans(Integer userId, Integer bigvId) {
        // return fansMapper.offFans(userId,bigvId,1);
        return fansMapper.offFans(userId, bigvId);
    }

    @Override
    public Integer offFansUpd(Integer userId, Integer bigvId) {
        return fansMapper.offFansUpd(userId, bigvId, 1);
    }

    /**
     * 关注其他用户
     *
     * @param userId
     * @param bigvId
     * @return
     */
    @Override
    public Map fansQuery(Integer userId, Integer bigvId) {
        Fans fans = fansMapper.fansQuery(userId, bigvId);
        System.out.println(fans);
        Map map = new HashMap<>();
        if (fans != null) {
            Integer fans1 = fansMapper.offFans(userId, bigvId);
            map.put("error", "取消关注成功");
        } else {
            map.put("success", "关注成功!");
            Integer fans2 = (Integer) fansMapper.onFans(userId, bigvId, 1);
        }
        return map;
    }

    @Override
    public Fans fansFandAll(Integer userId, Integer bigvId) {
        return fansMapper.fansQuery(userId, bigvId);
    }
}
